﻿using System;
using System.Collections.Generic;
using System.Web;
using Model;
//using SubSonic;
using Manager;
namespace Manager.CustomerHelper
{
    public class RoleMenuHelper
    {
        private static Dictionary<int, List<int>> _roleMenus = new Dictionary<int, List<int>>();

        public static void UpdateRoleMenus(int roleId)
        {
            if (_roleMenus.ContainsKey(roleId))
            {
                _roleMenus.Remove(roleId);
            }
        }

        public static List<int> GetRoleMenus(int roleId)
        {
            if (!_roleMenus.ContainsKey(roleId))
            {
                _roleMenus[roleId] = new List<int>();
                MenuConfigManager manager = new MenuConfigManager();
                //X_RoleMenuBLL BLL=new X_RoleMenuBLL ();
                IList<MenuConfig> roleMenus = manager.GetByRole(roleId);

                //XRoleMenuCollection roleMenus = new Select().From<XRoleMenu>()
                //   .Where(XRoleMenu.Columns.RoleId).IsEqualTo(roleId)
                //   .ExecuteAsCollection<XRoleMenuCollection>();

                foreach (MenuConfig roleMenu in roleMenus)
                {
                    _roleMenus[roleId].Add(roleMenu.MenuId.Value);
                }

            }

            return _roleMenus[roleId];
        }


    }
    public class RoleShortCutHelper
    {
        //private static Dictionary<int, List<int>> _roleShortCuts = new Dictionary<int, List<int>>();

        //public static void UpdateRoleShortCuts(int roleId)
        //{
        //    if (_roleShortCuts.ContainsKey(roleId))
        //    {
        //        _roleShortCuts.Remove(roleId);
        //    }
        //}

        //public static List<int> GetRoleShortCuts(int roleId)
        //{
        //    if (!_roleShortCuts.ContainsKey(roleId))
        //    {
        //        _roleShortCuts[roleId] = new List<int>();
        //        OA_MenuConfigBLL BLL = new OA_MenuConfigBLL();
        //        List<OA_MenuConfig> roleShortCuts = BLL.GetByRole(roleId);

        //        //XRoleMenuCollection roleMenus = new Select().From<XRoleMenu>()
        //        //   .Where(XRoleMenu.Columns.RoleId).IsEqualTo(roleId)
        //        //   .ExecuteAsCollection<XRoleMenuCollection>();

        //        foreach (OA_MenuConfig roleMenu in roleShortCuts)
        //        {
        //            _roleShortCuts[roleId].Add(roleMenu.MenuId);
        //        }

        //    }

        //    return _roleShortCuts[roleId];
        //}


    }
}
